In recent years, solid-state drives (SSDs) have been developed, as data storage apparatuses, each using NAND flash memories (hereinafter referred to as “flash memories” in some cases) that are rewritable nonvolatile memories.
In most SSDs, data is written in parallel to the flash memories provided, respectively, for a plurality of channels, thus achieving write operation of multichannel program scheme. In the write operation of multichannel program scheme, it become possible to write data in parallel to the flash memories for all channels when the data (i.e., user data) to be written for all channels is completely stored in a buffer memory.
In other words, unless the data to be written for all channels is prepared, the parallel writing cannot be accomplished, possibly interrupting the write operation. In this state, the main power supply for the SSD may be cut. In this case, the write operation interrupted must be forcibly performed to finish writing data to the flash memories, in order to save the memory stored in the buffer memory. The function of forcibly performing the write operation is known as “write flush function.” The command that initiates the write flush function (the write operation for write flush process) is called a “flush command.”
In the conventional SSD, the multichannel program scheme accomplishes the write operation at high efficiency, performing the write flush process and ultimately preventing the data from being lost. The write flush process is performed by using a spare power supply such as a capacitor, and should therefore be completed at high efficiency (or within a short time) so that the data to protect may be reliably prevented from being lost.
In the SSD, a write operation known as a “read modify write (RMW) process,” which includes a read process, may be performed in some cases, along with the normal write operation. The write flush process of the multichannel program scheme, which includes the RMW process, must therefore be so efficiently performed that the data to protect may be reliably prevented from being lost.